This invention relates to address assignment procedures in a data processing system and, more particularly, to a procedure for assigning addresses to devices in a system that enables a given device to determine addresses of neighboring devices through a calculation based on the given device""s address.
In the prior art, there are many procedures used to enable the assignment of addresses to devices in a computing system. Ordinarily, for one device to determine the address of a neighboring device (or any other device in the computing system), the device will refer to a table of addresses that is either stored locally or is stored as part of a central data repository. Such an address table storage facility (or facilities) requires allocations of memory which is almost invariably a scarce commodity. This is especially true in printing devices.
In such printing devices, input devices to the printing device provide paper to the printer engine. Such input devices consist of plural trays of paper, each with a different size of paper. Each printing device has one or more paper paths that are used to move paper. There are also output devices associated with the printing device that accept paper from the printing device and deliver it to its final destination.
When using paper-handling devices with a printing device, there is a need to address such devices in a manner that their physical location is immediately known from the address value. An ability to determine the addresses of neighboring devices is important when moving paper to and from the printing device, as each such device needs to communicate with the one or more devices that are physically next in line of paper movement.
Currently the position of a device in a printing system is assumed, based on the use of shift register hardware. In other words, in current printing systems, the order in which the bytes are arrayed in a shift register controls the routing of the data. Each device does not know how to determine its neighbor""s address as the use of the shift register queuing solution enables data to be routed to devices of the system, based on the order it is put into the shift registers of the device, and the paper handling controller. In such a system, devices cannot send messages to their neighbors because they do not know who their neighbors are. Accordingly, system flexibility is substantially constrained.
Accordingly, it is an object of this invention to provide a method for assigning addresses to devices in a system that conserves memory resources.
It is another object of the invention to provide an improved method of address assignment that enables devices populating a system to calculate addresses of neighboring devices without having to store such addresses.
It is a further object of the invention to provide an improved method of address assignment that enables devices populating a system to determine relative physical positions of adjoining devices by the addresses of such devices.
The method of the invention enables assignment of addresses to devices in a system, wherein each assigned address allows each device to determine addresses of neighboring devices. At least one given device of the system is coupled via a first connector to a reference device. Each device of the system further has one or more ports for communication with other devices. The method initially powers the first connector and assigns a first address value to the given device. Next, the number of communication ports included with the given device are found that are coupled to additional devices. The given device is then caused to power one of its communication ports. Thereafter, a second address value is assigned to a device connected to one of the communication ports, the second address value having a predetermined relationship with the first address value. Next, the given device is controlled to power each additional one of its communication ports and devices connected to those ports are assigned additional unique address values, the additional address values having predetermined relationships with the first address value. The predetermined relationships enable each device of the system, knowing its own assigned address and the predetermined relationship between address values, to determine addresses of at least neighboring devices in the system.